package es.tikitaka.dao;

import java.util.List;

import es.tikitaka.domain.jugador.PartJugador;
import es.tikitaka.domain.jugador.SegJugador;
import es.tikitaka.domain.liga.Jornada;

public interface SegJugadorService {

	/**
	 * Método para listar todos los seguimientos de jugadores en el sistema
	 * 
	 * @return lista de seguimientos
	 */
	List<SegJugador> getList();

	/**
	 * Método que devuelve el seguimiento de un jugador para una jornada
	 * concreta
	 * 
	 * @param participacion
	 * @param jornada
	 * @return
	 */
	SegJugador getSeguimientoJornada(PartJugador participacion, Jornada jornada);

	/**
	 * 
	 * @param seguimiento
	 * @return
	 */
	SegJugador merge(SegJugador seguimiento);

	/**
	 * Método para eliminar del sistema un seguimiento de jugador dado
	 * 
	 * @param id
	 *            Id del seguimiento de jugador a eliminar
	 * @return estado del proceso (true or false)
	 */
	boolean delete(Integer id);

	/**
	 * Método para guardar un seguimiento de jugador en el sistema o las
	 * modificaciones sufridas por un seguimiento ya existente
	 * 
	 * @param seguimiento
	 *            Seguimiento de jugador a guardar
	 * @return estado el proceso (true or false)
	 */
	boolean save(SegJugador seguimiento);
}
